package com.hs.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.hs.entity.dto.UpdatePassword;
import com.hs.entity.dto.User;
import com.hs.entity.vo.request.ConfirmResetVO;
import com.hs.entity.vo.request.EmailRegisterVO;
import com.hs.entity.vo.request.EmailResetVO;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;

import java.util.List;

public interface UserService extends IService<User>, UserDetailsService {
    User findUserByUsernameOrEmail(String text);

    String registerEmailVerifyCode(String type,String email,String ip);

    String registerEmailUser(EmailRegisterVO vo);

    String resetConfirm(ConfirmResetVO vo);

    String resetEmailUserPassword(EmailResetVO vo);

    PageInfo<User> selectUserList(Integer pageNum,String keywords);

    User userByUsername(String username);


    boolean updatePassword(UpdatePassword dto);
}
